<?php

// Redirige l'utilisateur s'il est déjà identifié
$sujet = "";
$message = "";
require_once('class.phpmailer.php');
//include "C:/wamp/www/phpmailer/class.phpmailer.php";					
//require "phpmailer/class.phpmailer.php";

if(isset($_COOKIE["id_user"]))
{
     header("Location: index.php");
}
else
{
     
     // Formulaire visible par défaut
     $masquer_formulaire = false;
     
     // Une fois le formulaire envoyé
     if(isset($_POST["BT_Envoyer"]))
     {
          //smtpmailer('kevin.lpg@gmail.com', 'streamprojectrie@gmail.com', 'kevin', 'test mail message', 'Hello World!');
          // Vérification de la validité des champs
          /*if(!ereg("^[A-Za-z0-9_]{4,20}$", $_POST["TB_name"]))
          {
               $message = "Votre nom d'utilisateur doit comporter entre 4 et 20 caractères<br />\n";
               $message .= "L'utilisation de l'underscore est autorisée";
          }
          elseif(!ereg("^[A-Za-z0-9]{4,}$", $_POST["TB_password"]))
          {
               $message = "Votre mot de passe doit comporter au moins 4 caractères";
          }
          elseif($_POST["TB_password"] != $_POST["TB_Confirmation_password"])
          {
               $message = "Votre mot de passe n'a pas été correctement confirmé";
          }
          elseif(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",
               $_POST["TB_email"]))
          {
               $message = "Votre adresse e-mail n'est pas valide";
          }
          else
          {*/
               
               // Connexion à la base de données
               // Valeurs à modifier selon vos paramètres configuration
               $serveur = "localhost";
               $nom_base = "serveur_gestion";
               $login = "root";
               $password = "";
               mysql_connect($serveur,$login,$password);
               // selection de la BDD
               mysql_select_db($nom_base);
               
               // Vérification de l'unicité du nom d'utilisateur et de l'adresse e-mail
               $result = mysql_query("
                    SELECT name, email
                    FROM users
                    WHERE name = '" . $_POST["TB_name"] . "'
                    OR email = '" . $_POST["TB_email"] . "'
               ");
               
               // Si une erreur survient
               if(!$result)
               {
                    $message = "Erreur d'accès à la base de données lors de la vérification d'unicité";
               }
               else
               {
                    
                    // Si un enregistrement est trouvé
                    if(mysql_num_rows($result) > 0)
                    {
                         
                         while($row = mysql_fetch_array($result))
                         {
                              
                              if($_POST["TB_name"] == $row["name"])
                              {
                                   $message = "Le nom d'utilisateur " . $_POST["TB_name"];
                                   $message .= "est déjà utilisé";
                              }
                              elseif($_POST["TB_email"] == $row["email"])
                              {
                                   $message = "L'adresse e-mail " . $_POST["TB_email"];
                                   $message .= "est déjà utilisée";
                              }
                              
                         }
                         
                    }
                    else
                    {
                         $date = date("Y-m-d");
                         // Génération de la clef d'activation
                         $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
                         $caracteres_aleatoires = array_rand($caracteres, 8);
                         $activation_key = "";
                         
                         foreach($caracteres_aleatoires as $i)
                         {
                              $activation_key .= $caracteres[$i];
                         }
                         
                         // Création du compte utilisateur
                         $result = mysql_query("
                              INSERT INTO users(
                                   name
                                   , password
                                   , email
                                   , registration_date	
                                   , activation_key
                              )
                              VALUES(
                                   '" . $_POST["TB_name"] . "'
                                   , '" . md5($_POST["TB_password"]) . "'
                                   , '" . $_POST["TB_email"] . "'
                                   , '" . $date . "'
                                   , '" . $activation_key . "'
                              )
                         ");
                         
                         // Si une erreur survient
                         if(!$result)
                         {
                              $message = "Erreur d'accès à la base de données lors de la création du compte utilisateur";
                         }
                         else
                         {
                              
                              // Envoi du mail d'activation
                              $sujet = "Activation de votre compte utilisateur";
                              
                              $content = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
                              $content .= "http://" . $_SERVER["SERVER_NAME"];
                              $content .= "/MyPhpProject/MyPhpProject/Formulaire";
                              $content .= "/activer-compte-utilisateur.php?id=" . mysql_insert_id();
                              $content .= "&clef=" . $activation_key;
                              
                              // Si une erreur survient
                              /*if(!@mail($_POST["TB_email"], $sujet, $content))
                              {
                                   $message = "Une erreur est survenue lors de l'envoi du mail d'activation<br />\n";
                                   $message .= "Veuillez contacter l'administrateur afin d'activer votre compte";
                              }
                              else
                              {
                                   
                                   // Message de confirmation
                                   $message = "Votre compte utilisateur a correctement été créer<br />\n";
                                   $message .= "Un email vient de vous être envoyer afin de l'activer";
                                   
                                   // On masque le formulaire
                                   $masquer_formulaire = true;
                                   
                              } */
                              
                         }
                         
                    }
                    
               }
               smtpmailer('kevin.lpg@gmail.com', 'streamprojectrie@gmail.com', 'kevin', $sujet, $content);
               mysql_close();
          }
          
          // Fermeture de la connexion à la base de données
          //
          
          
          
     //}
     
}

//include_once "phpmailer.inc.php"; //inclusion du fichier si le dossier "phpmailer" se trouve dans le même dossier que notre page web
//include "phpmailer.inc.php";
//include "phpmailer/class.smtp.inc";
//require "phpmailer.inc.php";
//require "smtp.inc.php";

function smtpmailer($to, $from, $from_name, $subject, $body) { 
	global $error;
	$mail = new PHPMailer();  // create a new object
	$mail->IsSMTP(); // enable SMTP
	$mail->SMTPDebug = 0;  // debugging: 1 = errors and messages, 2 = messages only
	$mail->SMTPAuth = true;  // authentication enabled
	$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
	$mail->Host = 'smtp.gmail.com';
	$mail->Port = 465; 
	$mail->Username   = "streamprojectrie@gmail.com";  // GMAIL username
        $mail->Password   = "pmanag!:;";            // GMAIL password          
	$mail->SetFrom($from, $from_name);
	$mail->Subject = $subject;
	$mail->Body = $body;
	$mail->AddAddress($to);
	if(!$mail->Send()) {
		$error = 'Mail error: '.$mail->ErrorInfo; 
		return false;
	} else {
		$error = 'Message sent!';
		return true;
	}
}

/*
function envoiMail($adresseMail, $sujet, $message) {
    
        //$mail = new PHPmailer();
        //$mail->IsSMTP();
        //$mail->SMTPDebug=true;    //permet de voir les erreurs si ça ne fonctionne pas    
        
        //$mail->Host='localhost'; // Connexion au serveur SMTP
        //$mail->Port = 25;
        
        //$mail->SMTPAuth = true; // Cette partie est optionnelle si le serveur SMTP n'a pas besoin d'authentification
        //$mail->Username = 'postmaster[at]monsite.e4y.fr'; // mettre l'adresse email que founit l'hébergeur
        //$mail->Password = 'monMotDePasse'; // le mot de passe pour se connecter à votre boite mail sur l'hébergeur
        $mail             = new PHPMailer();

        $body             = file_get_contents('contents.html');
        $body             = eregi_replace("[\]",'',$body);

        $mail->IsSMTP(); // telling the class to use SMTP
    
        $mail->Host       = "smtp.gmail.com"; // SMTP server
        $mail->SMTPDebug  = 1;                     // enables SMTP debug information (for testing)
                                           // 1 = errors and messages
        $mail->SMTPSecure = "tls";                                    // 2 = messages only
        $mail->SMTPAuth   = true;   
        $mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
        $mail->Port       = 587;                   // set the SMTP port for the GMAIL server
        $mail->Username   = "streamprojectrie@gmail.com";  // GMAIL username
        $mail->Password   = "pmanag!:;";            // GMAIL password

        $mail->IsHTML(true); // Permet d'écrire un mail en HTML (=> conversion des balises
        $mail->CharSet = 'UTF-8'; // évite d'avoir des caractères chinois :)
        $mail->From ='streamprojectrie@gmail.com'; // adresse mail du compte qui envoi
        $mail->FromName = "Data Engine Dasihaulien"; // remplace le nom du destinateur lors de la lecture d'un email
        $mail->AddAddress($adresseMail); // adresse du destinataire, plusieurs adresses possibles en même temps !
        $mail->AddReplyTo('kevin.lpg@gmail.com'); // renvoi une copie de l'email au destinateur, fonctionnalité pas toujours opérationnelle
        $mail->Subject=$sujet; // l'entête = nom du sujet
        $mail->Body=$message; // le corps = le message en lui-même, codé en HTML si vous voulez
        //$mail->AltBody="This is text only alternative body."; // corps du message à afficher si le HTML n'est pas accepter par celui qui lit le message
        if(!$mail->Send()) {
            $_REQUEST['error'] = $mail->ErrorInfo; // affiche une erreur => pas toujours explicite
        }
        $mail->SmtpClose();
        unset($mail); // ferme la connexion smtp et désalloue la mémoire...
} */

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
     <title>[PHP] Créer un espace membre</title>
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php if(isset($message)) { ?>
<p><?php echo $message; ?></p>
<?php } if($masquer_formulaire != true) { ?>
<form action="http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
     <p>
          Username : <input type="text" name="TB_name" />
     </p>
     <p>
          Password : <input type="password" name="TB_password" />
     </p>
     <p>
          Confirm Password : <input type="password" name="TB_Confirmation_password" />
     </p>
     <p>
          Email-adress : <input type="text" name="TB_email" />
     </p>
     <p>
         <input type="submit" name="BT_Envoyer" value="Envoyer"/>
     </p>
</form>
<?php } ?>
</body>
</html>